package com.amoyt.project.domain.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 资金审批结果明细表（独立存储各级资金审批结果）
 * </p>
 *
 * @author AmoyT
 * @since 2025-08-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(description = "资金审批结果明细表（独立存储各级资金审批结果）")
public class FundApprovalResult implements Serializable {

  private static final long serialVersionUID = 1L;

  @Schema(description = "主键")
  @TableId(value = "id", type = IdType.AUTO)
  private Long id;

  @Schema(description = "关联资金审批主表id")
  private String fundId;

  @Schema(description = "审批级别（town-乡镇/region-县区等）")
  private String approvalLevel;

  @Schema(description = "审批人id")
  private String approverId;

  @Schema(description = "审批时间")
  private Date approvalTime;

  @Schema(description = "审批结果（pass-通过/reject-驳回）")
  private String approvalResult;

  @Schema(description = "审批意见")
  private String approvalRemark;

  @Schema(description = "创建人（系统自动记录为审批人）")
  private String createBy;

  @Schema(description = "记录创建时间")
  private Date createTime;

  @Schema(description = "更新人")
  private String updateBy;

  @Schema(description = "更新时间")
  private Date updateTime;

  @Schema(description = "逻辑删除")
  private Integer deleted;

  @Schema(description = "状态 0-无效，1有效")
  private Integer status;

  @Schema(description = "审批顺序，数字越大，越靠后")
  private Integer order;
}
